//----------------------------------Include-------------------------------------
#include <stdint.h>
#include "mcu.h"
//------------------------------------------------------------------------------

//--------------------------------Public Func-----------------------------------
void mcu_init_do(void)
{
//periph clock
  RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA, ENABLE);
  RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB, ENABLE);
  
//Output
  GPIO_InitType     GPIO_InitS;
  GPIO_InitStruct (&GPIO_InitS);
  
  GPIO_InitS.GPIO_Current    = GPIO_DC_2mA;
  GPIO_InitS.GPIO_Slew_Rate  = GPIO_Slew_Rate_Low;
  GPIO_InitS.GPIO_Pull       = GPIO_No_Pull;
  GPIO_InitS.GPIO_Mode       = GPIO_Mode_Out_PP;
  
  //PA8 -- LED1   PB4 -- LED2   PB5 -- LED3
  GPIO_InitS.Pin = GPIO_PIN_8;   GPIO_InitPeripheral(GPIOA, &GPIO_InitS);   GPIO_ResetBits(GPIOA, GPIO_PIN_8);
  GPIO_InitS.Pin = GPIO_PIN_4;   GPIO_InitPeripheral(GPIOB, &GPIO_InitS);   GPIO_ResetBits(GPIOB, GPIO_PIN_4);
  GPIO_InitS.Pin = GPIO_PIN_5;   GPIO_InitPeripheral(GPIOB, &GPIO_InitS);   GPIO_ResetBits(GPIOB, GPIO_PIN_5);
}

//LED
void mcu_led_toggle(void)
{
  GPIO_ReadOutputDataBit(GPIOA, GPIO_PIN_8) ? GPIO_ResetBits(GPIOA, GPIO_PIN_8) : GPIO_SetBits(GPIOA, GPIO_PIN_8);
  GPIO_ReadOutputDataBit(GPIOB, GPIO_PIN_4) ? GPIO_ResetBits(GPIOB, GPIO_PIN_4) : GPIO_SetBits(GPIOB, GPIO_PIN_4);
  GPIO_ReadOutputDataBit(GPIOB, GPIO_PIN_5) ? GPIO_ResetBits(GPIOB, GPIO_PIN_5) : GPIO_SetBits(GPIOB, GPIO_PIN_5);
}
//------------------------------------EOF---------------------------------------




